# COMMON

ID_FIELD = "Identifier"
ID_ABBRV_FIELD = "Identifier Abbreviation"

STATUS_FIELD = "Status Indicators"
STATUS_IND_BITS_FIELD = "Status Indicator Bits"

FLAT_MEM_FIELD = "Flat_mem"
CONNECTOR_FIELD = "Connector"

DIAG_MON_TYPE_FIELD = "Diagnostic Monitoring Type"
DEVICE_TECH_FIELD = "Device Technology"
EXT_SPEC_COMPLIANCE_FIELD = "Extended Specification Compliance"

LENGTH_SMF_KM_FIELD = "Length SMF (km)"
LENGTH_SMF_M_FIELD = "Length SMF (m)"
LENGTH_OM4_FIELD = "Length OM4"
LENGTH_OM3_FIELD = "Length OM3"
LENGTH_OM2_FIELD = "Length OM2"
LENGTH_OM1_FIELD = "Length OM1"

MODULE_MONITORS_PAGE0_FIELD = "Module Monitors Page 0"
MODULE_MONITORS_FIELD = "Module Monitors"

RX_LOS_FIELD = "RxLOS"
RX_LOS_SUPPORT = "RxLOSSupported"
RX_POWER_FIELD = "RxPower"
RX_POWER_SUPPORT_FIELD = "RxPowerSupported"
RX_POWER_THRESHOLDS_FIELD = "RxPowerThresholds"
RX_POWER_HIGH_ALARM_FIELD = "RxPowerHighAlarm"
RX_POWER_LOW_ALARM_FIELD = "RxPowerLowAlarm"
RX_POWER_HIGH_WARNING_FIELD = "RxPowerHighWarning"
RX_POWER_LOW_WARNING_FIELD = "RxPowerLowWarning"

RX_DISABLE_FIELD = "RxDisable"
RX_DISABLE_SUPPORT_FIELD = "RxDisableSupported"

TEMPERATURE_FIELD = "Temperature"
TEMP_SUPPORT_FIELD = "Temperature Monitoring Implemented"
TEMP_THRESHOLDS_FIELD = "TempThresholds"
TEMP_HIGH_ALARM_FIELD = "TempHighAlarm"
TEMP_LOW_ALARM_FIELD = "TempLowAlarm"
TEMP_HIGH_WARNING_FIELD = "TempHighWarning"
TEMP_LOW_WARNING_FIELD = "TempLowWarning"

THRESHOLDS_FIELD = "Thresholds"

TX_BIAS_FIELD = "TxBias"
TX_BIAS_SUPPORT_FIELD = "TxBiasSupported"
TX_BIAS_SCALE = "TxBiasScalingFactor"
TX_BIAS_THRESHOLDS_FIELD = "TxBiasThresholds"
TX_BIAS_HIGH_ALARM_FIELD = "TxHighAlarm"
TX_BIAS_LOW_ALARM_FIELD = "TxLowAlarm"
TX_BIAS_HIGH_WARNING_FIELD = "TxHighWarning"
TX_BIAS_LOW_WARNING_FIELD = "TxLowWarning"

TX_FAULT_FIELD = "TxFault"
TX_FAULT_SUPPORT_FIELD = "TxFaultSupported"
TX_DISABLE_FIELD = "TxDisable"
TX_DISABLE_SUPPORT_FIELD = "TxDisableSupported"

TX_POWER_FIELD = "TxPower"
TX_POWER_SUPPORT_FIELD = "TxPowerSupported"
TX_POWER_THRESHOLDS_FIELD = "TxPowerThresholds"
TX_POWER_HIGH_ALARM_FIELD = "TxPowerHighAlarm"
TX_POWER_LOW_ALARM_FIELD = "TxPowerLowAlarm"
TX_POWER_HIGH_WARNING_FIELD = "TxPowerHighWarning"
TX_POWER_LOW_WARNING_FIELD = "TxPowerLowWarning"

VENDOR_NAME_FIELD = "VendorName"
VENDOR_DATE_FIELD = "VendorDate"
VENDOR_OUI_FIELD = "VendorOUI"
VENDOR_PART_NO_FIELD = "VendorPN"
VENDOR_REV_FIELD = "VendorRev"
VENDOR_SERIAL_NO_FIELD = "VendorSN"
VOLTAGE_FIELD = "Voltage"
VOLTAGE_SUPPORT_FIELD = "Supply Voltage Monitoring Implemented"
VOLTAGE_THRESHOLDS_FIELD = "VoltageThresholds"
VOLTAGE_HIGH_ALARM_FIELD = "VoltageHighAlarm"
VOLTAGE_LOW_ALARM_FIELD = "VoltageLowAlarm"
VOLTAGE_HIGH_WARNING_FIELD = "VoltageHighWarning"
VOLTAGE_LOW_WARNING_FIELD = "VoltageLowWarning"

SERIAL_ID_FIELD = "Serial ID"
EXT_ID_FIELD = "Extended Identifier"
POWER_CLASS_FIELD = "Power Class"
CLEI_CODE_FIELD = "CLEI Code"
CDR_TX_FIELD = "CDR TX"
CDR_RX_FIELD = "CDR RX"
SPEC_COMPLIANCE_FIELD = "Specification Compliance"
ENCODING_FIELD = "Encoding"
NOMINAL_BR_FIELD = "Nominal BR"
EXT_RATE_SELECT_COMPLIANCE_FIELD = "Extended RateSelect Compliance"
LENGTH_ASSEMBLY_FIELD = "Length Cable Assembly"

ETHERNET_10_40G_COMPLIANCE_FIELD = "10/40G Ethernet Compliance Code"
SONET_COMPLIANCE_FIELD = "SONET Compliance Codes"
SAS_SATA_COMPLIANCE_FIELD = "SAS/SATA Compliance Codes"
GIGABIT_ETHERNET_COMPLIANCE_FIELD = "Gigabit Ethernet Compliant Codes"
FIBRE_CHANNEL_LINK_LENGTH_FIELD = "Fibre Channel Link Length"
FIBRE_CHANNEL_TRANSMITTER_TECH_FIELD = "Fibre Channel Transmitter Technology"
FIBRE_CHANNEL_TRANSMISSION_MEDIA_FIELD = "Fibre Channel Transmission Media"
FIBRE_CHANNEL_SPEED_FIELD = "Fibre Channel Speed"

OPTIONS_FIELD = "Options"

POWER_CTRL_FIELD = "Power Control"
POWER_OVERRIDE_FIELD = "Power Override"
POWER_SET_FIELD = "Power Set"
HIGH_POWER_CLASS_ENABLE_CLASS_5_TO_7 = "High Power Class Enable (Class 5-7)"
HIGH_POWER_CLASS_ENABLE_CLASS_8 = "High Power Class Enable (Class 8)"

# SFF-8636

REV_COMPLIANCE_FIELD = "Revision Compliance"

# SFF-8472

ENHANCED_OPTIONS_FIELD = "Enhanced Options"
ETHERNET_10G_COMPLIANCE_FIELD = "10G Ethernet Compliance"
INFINIBAND_COMPLIANCE_FIELD = "Infiniband Compliance"
ESCON_COMPLIANCE_FIELD = "ESCON Compliance"
ETHERNET_COMPLIANCE_FIELD = "Ethernet Compliance"
SFP_CABLE_TECH_FIELD = "SFP+CableTechnology"
RATE_ID_FIELD = "Rate Identifier"
EXT_CAL_FIELD = "Externally Calibrated"
INT_CAL_FIELD = "Internally Calibrated"
DOM_EXT_CAL_CONST_FIELD = "Calibration Constants for External Calibration"
RX_LOS_SUPPORT_FIELD = "RxLOSSupported"
RX_PWR_4_FIELD = "Rx_PWR(4)"
RX_PWR_3_FIELD = "Rx_PWR(3)"
RX_PWR_2_FIELD = "Rx_PWR(2)"
RX_PWR_1_FIELD = "Rx_PWR(1)"
RX_PWR_0_FIELD = "Rx_PWR(0)"
TX_I_SLOPE_FIELD = "Tx_I(Slope)"
TX_I_OFFSET_FIELD = "Tx_I(Offset)"
TX_PWR_SLOPE_FIELD = "Tx_PWR(Slope)"
TX_PWR_OFFSET_FIELD = "Tx_PWR(Offset)"
T_SLOPE_FIELD = "T (Slope)"
T_OFFSET_FIELD = "T (Offet)"
V_SLOPE_FIELD = "V (Slope)"
V_OFFSET_FIELD = "V (Offset)"

DDM_SUPPORT_FIELD = "Digital Diagnostic Monitoring Implemented"
DOM_FIELD = "DOM"

PAGING_SUPPORT_FIELD = "Paging Implemented"

STATUS_CTRL_FIELD = "Status/Control"
TX_DISABLE_SELECT_FIELD = "Soft TX Disable Select"

# CMIS

ADMIN_INFO_FIELD = "AdminInfo"
ADVERTISING_FIELD = "Advertising"
MEDIA_TYPE_FIELD = "ModuleMediaType"
HOST_ELECTRICAL_INTERFACE = "HostElectricalInterfaceID"
MODULE_MEDIA_INTERFACE_850NM = "ModuleMediaInterface850nm"
MODULE_MEDIA_INTERFACE_SM = "ModuleMediaInterfaceSM"
MODULE_MEDIA_INTERFACE_PASSIVE_COPPER = "ModuleMediaInterfacePassiveCopper"
MODULE_MEDIA_INTERFACE_ACTIVE_CABLE = "ModuleMediaInterfaceActiveCable"
MODULE_MEDIA_INTERFACE_BASE_T = "ModuleMediaInterfaceBaseT"
HOST_LANE_COUNT = "HostLaneCount"
MEDIA_LANE_COUNT = "MediaLaneCount"
HOST_LANE_ASSIGNMENT_OPTION = "HostLaneAssignmentOptions"
MEDIA_LANE_ASSIGNMENT_OPTION = "MediaLaneAssignmentOptions"
ACTIVE_APSEL_CODE = "ActiveAppSelCode"
ACTIVE_APSEL_HOSTLANE = "ActiveAppSelLane"
MEDIA_INTERFACE_TECH = "MediaInterfaceTechnology"
HW_MAJOR_REV = "ModuleHardwareMajorRevision"
HW_MINOR_REV = "ModuleHardwareMinorRevision"
CMIS_MAJOR_REVISION = "CmisMajorRevision"
CMIS_MINOR_REVISION = "CmisMinorRevision"
ACTIVE_FW_MAJOR_REV = "ModuleActiveFirmwareMajorRevision"
ACTIVE_FW_MINOR_REV = "ModuleActiveFirmwareMinorRevision"
INACTIVE_FW_MAJOR_REV = "ModuleInactiveFirmwareMajorRevision"
INACTIVE_FW_MINOR_REV = "ModuleInactiveFirmwareMinorRevision"
DP_PATH_INIT_DURATION = "DPInitDuration"
DP_PATH_DEINIT_DURATION = "DPDeinitDuration"
MODULE_PWRUP_DURATION = "ModulePowerUpDuration"
MODULE_PWRDN_DURATION = "ModulePowerDownDuration"
DP_TX_TURNON_DURATION = "DPTxTurnOnDuration"
DP_TX_TURNOFF_DURATION = "DPTxTurnOffDuration"

# DOM
TRANS_DOM_FIELD = "TransceiverDom"
CASE_TEMP = "ModuleTemp"
VOLTAGE = "Supply3V3"
GRID_SPACING = "Tx1SelectedGridSpacing"
LASER_CONFIG_CHANNEL = "Tx1ChannelNumber"
LASER_CURRENT_FREQ = "Tx1CurrentLaserFrequency"
TX_CONFIG_POWER = "Tx1TargetOutputPower"
AUX_MON_TYPE = "AuxMonitorType"
AUX1_MON = "Aux1MonValue"
AUX2_MON = "Aux2MonValue"
AUX3_MON = "Aux3MonValue"
CUSTOM_MON = "CustomMonValue"

# Loopback
TRANS_LOOPBACK_FIELD = "TransceiverLoopback"
LOOPBACK_CAPABILITY = "LoopbackCapability"
MEDIA_OUTPUT_LOOPBACK = "MediaSideOutputLoopbackEnable"
MEDIA_INPUT_LOOPBACK = "MediaSideInputLoopbackEnable"
HOST_OUTPUT_LOOPBACK = "HostSideOutputLoopbackEnable"
HOST_INPUT_LOOPBACK = "HostSideLoopbackEnable"

# Threshold
TRANS_THRESHOLD_FIELD = "TransceiverThreshold"
CASE_TEMP_HIGH_ALARM = "TempeartureHighAlarmThreshold"
CASE_TEMP_LOW_ALARM = "TempeartureLowAlarmThreshold"
CASE_TEMP_HIGH_WARN = "TempeartureHighWarningThreshold"
CASE_TEMP_LOW_WARN = "TempeartureLowWarningThreshold"
VOLTAGE_HIGH_ALARM = "Supply3V3HighAlarmThreshold"
VOLTAGE_LOW_ALARM = "Supply3V3LowAlarmThreshold"
VOLTAGE_HIGH_WARN = "Supply3V3HighWarningThreshold"
VOLTAGE_LOW_WARN = "Supply3V3LowWarningThreshold"
AUX1_HIGH_ALARM = "Aux1MonitorHighAlarmThreshold"
AUX1_LOW_ALARM = "Aux1MonitorLowAlarmThreshold"
AUX1_HIGH_WARN = "Aux1MonitorHighWarningThreshold"
AUX1_LOW_WARN = "Aux1MonitorLowWarningThreshold"
AUX2_HIGH_ALARM = "Aux2MonitorHighAlarmThreshold"
AUX2_LOW_ALARM = "Aux2MonitorLowAlarmThreshold"
AUX2_HIGH_WARN = "Aux2MonitorHighWarningThreshold"
AUX2_LOW_WARN = "Aux2MonitorLowWarningThreshold"
AUX3_HIGH_ALARM = "Aux3MonitorHighAlarmThreshold"
AUX3_LOW_ALARM = "Aux3MonitorLowAlarmThreshold"
AUX3_HIGH_WARN = "Aux3MonitorHighWarningThreshold"
AUX3_LOW_WARN = "Aux3MonitorLowWarningThreshold"
TX_POWER_HIGH_ALARM = "TxOpticalPowerHighAlarmThreshold"
TX_POWER_LOW_ALARM = "TxOpticalPowerLowAlarmThreshold"
TX_POWER_HIGH_WARN = "TxOpticalPowerHighWarningThreshold"
TX_POWER_LOW_WARN = "TxOpticalPowerLowWarningThreshold"
TX_BIAS_CURR_HIGH_ALARM = "TxBiasCurrentHighAlarmThreshold"
TX_BIAS_CURR_LOW_ALARM = "TxBiasCurrentLowAlarmThreshold"
TX_BIAS_CURR_HIGH_WARN = "TxBiasCurrentHighWarningThreshold"
TX_BIAS_CURR_LOW_WARN = "TxBiasCurrentLowWarningThreshold"
RX_POWER_HIGH_ALARM = "RxOpticalPowerHighAlarmThreshold"
RX_POWER_LOW_ALARM = "RxOpticalPowerLowAlarmThreshold"
RX_POWER_HIGH_WARN = "RxOpticalPowerHighWarningThreshold"
RX_POWER_LOW_WARN = "RxOpticalPowerLowWarningThreshold"

# Status
TRANS_MODULE_STATUS_FIELD = "TransceiverModuleStatus"
TRANS_LANE_STATUS_FIELD = "TransceiverLaneStatus"
MODULE_STATE = "ModuleState"
MODULE_FIRMWARE_FAULT_INFO = "FirmwareFault"
MODULE_FLAG_BYTE1 = "ModuleFlagByte1"
MODULE_FLAG_BYTE2 = "ModuleFlagByte2"
MODULE_FLAG_BYTE3 = "ModuleFlagByte3"
CDB1_STATUS = "Cdb1Status"
MODULE_FAULT_CAUSE = "ModuleFaultCause"
DATA_PATH_STATE= "DataPathState"
TX_OUTPUT_STATUS = "TxOutputStatus"
RX_OUTPUT_STATUS = "RxOutputStatus"
TX_LOS_FIELD = "TxLOS"
TX_LOS_SUPPORT_FIELD = "TxLOSSupported"
TX_CDR_LOL = "TxCDRLOL"
TX_CDR_LOL_SUPPORT_FIELD = "TxCDRLOLSupported"
TX_ADAPTIVE_INPUT_EQ_FAIL_FLAG_SUPPORTED = "TxAdaptiveInputEqFailFlagSupported"
TX_ADAPTIVE_INPUT_EQ_FAIL_FLAG = "TxAdaptiveInputEqFailFlag"
TX_POWER_HIGH_ALARM_FLAG = "TxPowerHighAlarmFlag"
TX_POWER_LOW_ALARM_FLAG = "TxPowerLowAlarmFlag"
TX_POWER_HIGH_WARN_FLAG = "TxPowerHighWarnFlag"
TX_POWER_LOW_WARN_FLAG = "TxPowerLowWarnFlag"
TX_BIAS_HIGH_ALARM_FLAG = "TxBiasHighAlarmFlag"
TX_BIAS_LOW_ALARM_FLAG = "TxBiasLowAlarmFlag"
TX_BIAS_HIGH_WARN_FLAG = "TxBiasHighWarnFlag"
TX_BIAS_LOW_WARN_FLAG = "TxBiasLowWarnFlag"
RX_POWER_HIGH_ALARM_FLAG = "RxPowerHighAlarmFlag"
RX_POWER_LOW_ALARM_FLAG = "RxPowerLowAlarmFlag"
RX_POWER_HIGH_WARN_FLAG = "RxPowerHighWarnFlag"
RX_POWER_LOW_WARN_FLAG = "RxPowerLowWarnFlag"

RX_CDR_LOL = "RxCDRLOL"
RX_CDR_LOL_SUPPORT_FIELD = "RxCDRLOLSupported"
CONFIG_LANE_STATUS = "ConfigStatusLane"
DPINIT_PENDING = "DPInitPending"
TUNING_IN_PROGRESS = "TxTuningInProgress"
WAVELENGTH_UNLOCKED = "TxWavelengthUnlocked"
LASER_TUNING_DETAIL = "TxTuningDetail"

# CONFIG
TRANS_CONFIG_FIELD = "TransceiverConfig"
MODULE_LEVEL_CONTROL = "ModuleControl"

APPLS_ADVT_FIELD = "Applications Advertisement"
APPLS_ADVT_FIELD_PAGE01 = "Applications Advertisement Pag01"
CTRLS_ADVT_FIELD = "Supported Controls Advertisement"
FLAGS_ADVT_FIELD = "Supported Flags Advertisement"
PAGE_SUPPORT_ADVT_FIELD = "Supported Pages Advertisement"
TX_FLAGS_ADVT_FIELD = "Supported TX Flags Advertisement"
RX_FLAGS_ADVT_FIELD = "Supported RX Flags Advertisement"
LANE_MON_ADVT_FIELD = "Supported Lane Monitor Advertisement"
LANE_DATAPATH_CTRL_FIELD = "Lane Control and Data Path Control"
LANE_DATAPATH_STATUS_FIELD = "Lane Status and Data Path Status"
TX_POWER_ALARM_FLAGS_FIELD = "TxPowerAlarmFlags"
TX_BIAS_ALARM_FLAGS_FIELD = "TxBiasAlarmFlags"
RX_POWER_ALARM_FLAGS_FIELD = "RxPowerAlarmFlags"
DATAPATH_DEINIT_FIELD = "Data Path Deinit"
LEN_MULT_FIELD = "LengthMultiplier"
MAX_POWER_FIELD = "MaxPower"
MGMT_CHAR_FIELD = "Management Characteristics"
MGMT_CHAR_MISC_FIELD = "Management Characteristics (Misc)"

MODULE_CHAR_ADVT_FIELD = "Module Characteristics Advertising"

STAGED_CTRL_FIELD = "Staged Control Set"
STAGED_CTRL_APPLY_DPINIT_FIELD = "Staged Control Set Apply DataPathInit"
STAGED_CTRL_APPLY_IMMEDIATE_FIELD = "Staged Control Set Apply Immediate"
STAGED_CTRL_APSEL_FIELD = "Staged Control Set ApSel"

STAGED_CTRL0_TX_RX_CTRL_FIELD = "Staged Control TX RX Control"

TX_INPUT_EQ_MAX = "TXInputEqMax"
RX_OUTPUT_LEVEL_SUPPORT = "RX Output Level Supported"
RX_OUTPUT_LEVEL_0_SUPPORTED = "RXOutputLevel0Supported"
RX_OUTPUT_LEVEL_1_SUPPORTED = "RXOutputLevel1Supported"
RX_OUTPUT_LEVEL_2_SUPPORTED = "RXOutputLevel2Supported"
RX_OUTPUT_LEVEL_3_SUPPORTED = "RXOutputLevel3Supported"
RX_OUTPUT_EQ_PRE_CURSOR_MAX = "RXOutputEqPreCursorMax"
RX_OUTPUT_EQ_POST_CURSOR_MAX = "RXOutputEqPostCursorMax"

SIGNAL_INTEGRITY_CTRL_ADVT_FIELD = "Signal Integrity Control Advertisement"
TX_SI_CTRL_ADVT = "TX SI Control Advertisement"
TX_CDR_SUPPORT_FIELD = "TXCDRSupported"
TX_CDR_BYPASS_CTRL_FIELD = "TXCDRBypassSupported"
TX_INPUT_EQ_FIXED_MANUAL_CTRL_SUPPORT_FIELD = "TXInputEqFixedManualSupported"
TX_INPUT_ADAPTIVE_EQ_SUPPORT_FIELD = "TXInputAdaptiveEqSupported"
TX_INPUT_EQ_FREEZE_SUPPORT_FIELD = "TXInputEqFreezeSupported"
TX_INPUT_EQ_RECALL_BUF1_SUPPORT_FIELD = "TXInputEqRecallBuf1Supported"
TX_INPUT_EQ_RECALL_BUF2_SUPPORT_FIELD = "TXInputEqRecallBuf2Supported"
TX_INPUT_EQ_RECALL_BUF_SUPPORT_FIELD = "TXInputEqRecallBufSupported"
RX_SI_CTRL_ADVT = "RX SI Control Advertisement"
RX_CDR_SUPPORT_FIELD = "RxCDRSupported"
RX_CDR_BYPASS_CTRL_FIELD = "RXCDRBypassSupported"
RX_OUTPUT_AMP_CTRL_SUPPORT_FIELD = "RXOutputAmpSupported"
RX_OUTPUT_EQ_PRE_CTRL_SUPPORT_FIELD = "RXOutputEQPreSupported"
RX_OUTPUT_EQ_POST_CTRL_SUPPORT_FIELD = "RXOutputEQPostSupported"
RX_OUTPUT_EQ_CTRL_SUPPORT_FIELD = "RXOutputEQSupported"

ACTIVE_CTRL_FIELD = "Active Control Set"
ADAPTIVE_INPUT_EQ_ENABLE_TX = "AdaptiveInputEqEnableTx"
ADAPTIVE_INPUT_EQ_RECALLED_TX = "AdaptiveInputEqRecalledTx"
ADAPTIVE_INPUT_EQ_RECALLED_TX1_4 = "AdaptiveInputEqRecalledTx1_4"
ADAPTIVE_INPUT_EQ_RECALLED_TX1 = "AdaptiveInputEqRecalledTx1"
ADAPTIVE_INPUT_EQ_RECALLED_TX2 = "AdaptiveInputEqRecalledTx2"
ADAPTIVE_INPUT_EQ_RECALLED_TX3 = "AdaptiveInputEqRecalledTx3"
ADAPTIVE_INPUT_EQ_RECALLED_TX4 = "AdaptiveInputEqRecalledTx4"
ADAPTIVE_INPUT_EQ_RECALLED_TX5_8 = "AdaptiveInputEqRecalledTx5_8"
ADAPTIVE_INPUT_EQ_RECALLED_TX5 = "AdaptiveInputEqRecalledTx5"
ADAPTIVE_INPUT_EQ_RECALLED_TX6 = "AdaptiveInputEqRecalledTx6"
ADAPTIVE_INPUT_EQ_RECALLED_TX7 = "AdaptiveInputEqRecalledTx7"
ADAPTIVE_INPUT_EQ_RECALLED_TX8 = "AdaptiveInputEqRecalledTx8"
FIXED_INPUT_EQ_TARGET_TX = "FixedInputEqTargetTx"
FIXED_INPUT_EQ_TARGET_TX1_2 = "FixedInputEqTargetTx1_2"
FIXED_INPUT_EQ_TARGET_TX1 = "FixedInputEqTargetTx1"
FIXED_INPUT_EQ_TARGET_TX2 = "FixedInputEqTargetTx2"
FIXED_INPUT_EQ_TARGET_TX3_4 = "FixedInputEqTargetTx3_4"
FIXED_INPUT_EQ_TARGET_TX3 = "FixedInputEqTargetTx3"
FIXED_INPUT_EQ_TARGET_TX4 = "FixedInputEqTargetTx4"
FIXED_INPUT_EQ_TARGET_TX5_6 = "FixedInputEqTargetTx5_6"
FIXED_INPUT_EQ_TARGET_TX5 = "FixedInputEqTargetTx5"
FIXED_INPUT_EQ_TARGET_TX6 = "FixedInputEqTargetTx6"
FIXED_INPUT_EQ_TARGET_TX7_8 = "FixedInputEqTargetTx7_8"
FIXED_INPUT_EQ_TARGET_TX7 = "FixedInputEqTargetTx7"
FIXED_INPUT_EQ_TARGET_TX8 = "FixedInputEqTargetTx8"
CDR_ENABLE_TX = "CDREnableTx"
CDR_ENABLE_RX = "CDREnableRx"
OUTPUT_EQ_PRE_CURSOR_TARGET_RX = "OutputEqPreCursorTargetRx"
OUTPUT_EQ_PRE_CURSOR_TARGET_RX1_2 = "OutputEqPreCursorTargetRx1_2"
OUTPUT_EQ_PRE_CURSOR_TARGET_RX1 = "OutputEqPreCursorTargetRx1"
OUTPUT_EQ_PRE_CURSOR_TARGET_RX2 = "OutputEqPreCursorTargetRx2"
OUTPUT_EQ_PRE_CURSOR_TARGET_RX3_4 = "OutputEqPreCursorTargetRx3_4"
OUTPUT_EQ_PRE_CURSOR_TARGET_RX3 = "OutputEqPreCursorTargetRx3"
OUTPUT_EQ_PRE_CURSOR_TARGET_RX4 = "OutputEqPreCursorTargetRx4"
OUTPUT_EQ_PRE_CURSOR_TARGET_RX5_6 = "OutputEqPreCursorTargetRx5_6"
OUTPUT_EQ_PRE_CURSOR_TARGET_RX5 = "OutputEqPreCursorTargetRx5"
OUTPUT_EQ_PRE_CURSOR_TARGET_RX6 = "OutputEqPreCursorTargetRx6"
OUTPUT_EQ_PRE_CURSOR_TARGET_RX7_8 = "OutputEqPreCursorTargetRx7_8"
OUTPUT_EQ_PRE_CURSOR_TARGET_RX7 = "OutputEqPreCursorTargetRx7"
OUTPUT_EQ_PRE_CURSOR_TARGET_RX8 = "OutputEqPreCursorTargetRx8"
OUTPUT_EQ_POST_CURSOR_TARGET_RX = "OutputEqPostCursorTargetRx"
OUTPUT_EQ_POST_CURSOR_TARGET_RX1_2 = "OutputEqPostCursorTargetRx1_2"
OUTPUT_EQ_POST_CURSOR_TARGET_RX1 = "OutputEqPostCursorTargetRx1"
OUTPUT_EQ_POST_CURSOR_TARGET_RX2 = "OutputEqPostCursorTargetRx2"
OUTPUT_EQ_POST_CURSOR_TARGET_RX3_4 = "OutputEqPostCursorTargetRx3_4"
OUTPUT_EQ_POST_CURSOR_TARGET_RX3 = "OutputEqPostCursorTargetRx3"
OUTPUT_EQ_POST_CURSOR_TARGET_RX4 = "OutputEqPostCursorTargetRx4"
OUTPUT_EQ_POST_CURSOR_TARGET_RX5_6 = "OutputEqPostCursorTargetRx5_6"
OUTPUT_EQ_POST_CURSOR_TARGET_RX5 = "OutputEqPostCursorTargetRx5"
OUTPUT_EQ_POST_CURSOR_TARGET_RX6 = "OutputEqPostCursorTargetRx6"
OUTPUT_EQ_POST_CURSOR_TARGET_RX7_8 = "OutputEqPostCursorTargetRx7_8"
OUTPUT_EQ_POST_CURSOR_TARGET_RX7 = "OutputEqPostCursorTargetRx7"
OUTPUT_EQ_POST_CURSOR_TARGET_RX8 = "OutputEqPostCursorTargetRx8"
OUTPUT_AMPLITUDE_TARGET_RX = "OutputAmplitudeTargetRx"
OUTPUT_AMPLITUDE_TARGET_RX1_2 = "OutputAmplitudeTargetRx1_2"
OUTPUT_AMPLITUDE_TARGET_RX1 = "OutputAmplitudeTargetRx1"
OUTPUT_AMPLITUDE_TARGET_RX2 = "OutputAmplitudeTargetRx2"
OUTPUT_AMPLITUDE_TARGET_RX3_4 = "OutputAmplitudeTargetRx3_4"
OUTPUT_AMPLITUDE_TARGET_RX3 = "OutputAmplitudeTargetRx3"
OUTPUT_AMPLITUDE_TARGET_RX4 = "OutputAmplitudeTargetRx4"
OUTPUT_AMPLITUDE_TARGET_RX5_6 = "OutputAmplitudeTargetRx5_6"
OUTPUT_AMPLITUDE_TARGET_RX5 = "OutputAmplitudeTargetRx5"
OUTPUT_AMPLITUDE_TARGET_RX6 = "OutputAmplitudeTargetRx6"
OUTPUT_AMPLITUDE_TARGET_RX7_8 = "OutputAmplitudeTargetRx7_8"
OUTPUT_AMPLITUDE_TARGET_RX7 = "OutputAmplitudeTargetRx7"
OUTPUT_AMPLITUDE_TARGET_RX8 = "OutputAmplitudeTargetRx8"

# C-CMIS

# Module configuration support fields
MODULE_CONFIG_SUPPORT_FIELD = "ModuleConfigSupport"
SUPPORT_GRID = "GridSupported"
LOW_CHANNEL = "LowChannel75GHz"
HIGH_CHANNEL = "HighChannel75GHz"
MIN_PROG_OUTPUT_POWER = "MinProgOutputPower"
MAX_PROG_OUTPUT_POWER = "MaxProgOutputPower"

## Media Lane FEC Performance Monitoring
## Media Lane Link Performance Monitoring
# PM
TRANS_PM_FIELD = "TransceiverPm"
VDM_SUPPORTED = "VdmSupported"
VDM_SUPPORTED_PAGE = "VdmSupportedPage"
VDM_CONTROL = "VdmControl"
VDM_STATUS = "VdmStatus"
VDM_FREEZE_DONE = "VdmFreezeDone"
VDM_UNFREEZE_DONE = "VdmUnfreezeDone"

MEDIA_LANE_FEC_PM = "Media Lane FEC Performance Monitoring"
MEDIA_LANE_LINK_PM = "Media Lane Link Performance Monitoring"
RX_BITS_PM = "rxBitsPm"
RX_BITS_SUB_INTERVAL_PM = "rxBitsSubIntPm"
RX_CORR_BITS_PM = "rxCorrBitsPm"
RX_MIN_CORR_BITS_SUB_INTERVAL_PM = "rxMinCorrBitsSubIntPm"
RX_MAX_CORR_BITS_SUB_INTERVAL_PM = "rxMaxCorrBitsSubIntPm"
RX_FRAMES_PM = "rxFramesPm"
RX_FRAMES_SUB_INTERVAL_PM = "rxFramsSubIntPm"
RX_FRAMES_UNCORR_ERR_PM = "rxFramesUncorrErrPm"
RX_MIN_FRAMES_UNCORR_ERR_SUB_INTERVAL_PM = "rxMinFramesUncorrErrSubintPm"
RX_MAX_FRAMES_UNCORR_ERR_SUB_INTERVAL_PM = "rxMaxFramesUncorrErrSubintPm"

RX_AVG_CD_PM = "rxAvgCdPm"
RX_MIN_CD_PM = "rxMinCdPm"
RX_MAX_CD_PM = "rxMaxCdPm"
RX_AVG_DGD_PM = "rxAvgDgdPm"
RX_MIN_DGD_PM = "rxMinDgdPm"
RX_MAX_DGD_PM = "rxMaxDgdPm"
RX_AVG_SOPMD_PM = "rxAvgSopmdPm"
RX_MIN_SOPMD_PM = "rxMinSopmdPm"
RX_MAX_SOPMD_PM = "rxMaxSopmdPm"
RX_AVG_PDL_PM = "rxAvgPdlPm"
RX_MIN_PDL_PM = "rxMinPdlPm"
RX_MAX_PDL_PM = "rxMaxPdlPm"
RX_AVG_OSNR_PM = "rxAvgOsnrPm"
RX_MIN_OSNR_PM = "rxMinOsnrPm"
RX_MAX_OSNR_PM = "rxMaxOsnrPm"
RX_AVG_ESNR_PM = "rxAvgEsnrPm"
RX_MIN_ESNR_PM = "rxMinEsnrPm"
RX_MAX_ESNR_PM = "rxMaxEsnrPm"
RX_AVG_CFO_PM = "rxAvgCfoPm"
RX_MAX_CFO_PM = "rxMaxCfoPm"
RX_MIN_CFO_PM = "rxMinCfoPm"
RX_AVG_EVM_PM = "rxAvgEvmPm"
RX_MIN_EVM_PM = "rxMinEvmPm"
RX_MAX_EVM_PM = "rxMaxEvmPm"
TX_AVG_POWER_PM = "txAvgPowerPm"
TX_MIN_POWER_PM = "txMinPowerPm"
TX_MAX_POWER_PM = "txMaxPowerPm"
RX_AVG_POWER_PM = "rxAvgPowerPm"
RX_MIN_POWER_PM = "rxMinPowerPm"
RX_MAX_POWER_PM = "rxMaxPowerPm"
RX_AVG_SIG_POWER_PM = "rxAvgSigPowerPm"
RX_MIN_SIG_POWER_PM = "rxMinSigPowerPm"
RX_MAX_SIG_POWER_PM = "rxMaxSigPowerPm"
RX_AVG_SOPROC_PM = "rxAvgSigSoprocPm"
RX_MIN_SOPROC_PM = "rxMinSigSoprocPm"
RX_MAX_SOPROC_PM = "rxMaxSigSoprocPm"
RX_AVG_MER_PM = "rxAvgMerPm"
RX_MIN_MER_PM = "rxMinMerPm"
RX_MAX_MER_PM = "rxMaxMerPm"

# CDB
TRANS_CDB_FIELD = "TransceiverCdb"
CDB_SUPPORT = "CdbSupport"
AUTO_PAGING_SUPPORT = "AutoPagingSupport"
CDB_SEQ_WRITE_LENGTH_EXT = "CdbReadWriteLengthExtension"
CDB_RPL_LENGTH = "CdbReplyLength"
CDB_RPL_CHKCODE = "CdbReplyCheckCode"
CDB_LPL = "CdbLocalPayload"
CDB_CMD = "CdbCommand"
CDB_WRITE_MSG = "CdbWriteMessage"

#CMISTargetFWUpgrade
PAGE_SELECT_BYTE = "PageSelectByte"
CMIS_TARGET_SERVER_INFO = "CmisTargetServerInfo"
SERVER_FW_MAGIC_BYTE = "ServerFirmwareMagicByte"
SERVER_FW_CHECKSUM = "ServerFirmwareChecksum"
SERVER_FW_VERSION = "ServerFirmwareVersion"

#VENDOR SPECIFIC
VENDOR_CUSTOM = "VendorCustom"
TARGET_MODE = "TargetMode"
CARTRDIGE_SLOT_ID = "CartridgeSlotID"
